package com.css.fxfzfxqh.modules.lifelineEngineering.service;

import com.css.fxfzfxqh.base.dict.repository.entity.DictItemEntity;
import com.css.fxfzfxqh.base.response.RestResponse;
import com.css.fxfzfxqh.common.rest.model.bo.ysx.AttachmentInfoBo;
import com.css.fxfzfxqh.common.rest.model.bo.ysx.UploadShpBo;
import com.css.fxfzfxqh.common.rest.model.vo.ysx.AttachmentInfoVo;
import com.css.fxfzfxqh.common.rest.model.vo.ysx.SmxVersionVo;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.lifelineEngineering.param.SmxDataParam;
import com.css.fxfzfxqh.modules.lifelineEngineering.param.UploadShpParam;
import com.css.fxfzfxqh.modules.lifelineEngineering.param.VectorDataParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface LifelineDataMaintenanceService {
    List<SmxVersionVo> getRepeatData(UploadShpParam param) throws Exception;

    Map<String, Object> getVersionCode(UploadShpParam param) throws BizException;

    Map<String, Object> getByTypeAndVersionId(SmxDataParam param) throws BizException;

    Integer deleteByTypeAndVersionId(String versionId) throws BizException;

    Integer deleteByTypeAndId(Integer type, String ids) throws BizException;

    Integer updateById(HashMap<Integer, Object> map) throws BizException;

    UploadShpBo uploadShp(UploadShpParam param) throws Exception;

    List<AttachmentInfoVo> uploadFile(List<MultipartFile> file)throws Exception;

    List<DictItemEntity> getByCode(String code) throws Exception;

    Integer importHubBuilding(MultipartFile file, Integer type, String province, String city, String county, Integer cover, String id) throws Exception;

    int getDataByVersion(String versionId,Integer type);

    Map<String, Object> uploadVectorData(VectorDataParam param) throws Exception;
}
